﻿using System;
using System.Windows;
using SoftSource.MVVMC;

namespace SoftSource.Timecard.ViewModelInterfaces
{
    public interface IManagementViewModelConsume : IViewModelConsume
    {
        #region Methods

        Func<UIElement> ManageCategories { get; }
        Func<UIElement> ManageCustomers { get; }
        Func<UIElement> ManageMilestones { get; }
        Func<UIElement> ManageProjects { get; }
        Func<UIElement> ManageUsers { get; }
        Func<UIElement> ManageInvoices { get; }
        Func<UIElement> ManageTimecards { get; }

        #endregion Methods
    }

    public interface IManagementViewModelService : IViewModelService
    {
        #region Methods

        Func<UIElement> ManageCategories { get; set; }
        Func<UIElement> ManageCustomers { get; set; }
        Func<UIElement> ManageMilestones { get; set; }
        Func<UIElement> ManageProjects { get; set; }
        Func<UIElement> ManageUsers { get; set; }
        Func<UIElement> ManageInvoices { get; set; }
        Func<UIElement> ManageTimecards { get; set; }

        #endregion Methods
    }

    public interface IManagementViewModel : 
        IManagementViewModelConsume, 
        IManagementViewModelService,
        IViewModel
    {
    }
}
